use of pointers in C